/**
 * 
 */
package com.letoo.sso.dataaccess.dao.db;

import org.apache.ibatis.annotations.Param;

import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import com.letoo.sso.dataaccess.datasource.DbRepository;
import com.letoo.sso.dataaccess.domain.BaseDomain;

/**
 * 基础DAO
 * 
 * @author dengjie
 *
 * 2014年2月11日
 */
@DbRepository
public interface BaseDBDAO<T extends BaseDomain> {

  Integer save(T t);

  int update(T t);

  void delete(long id);

  T findById(long id);

  PageList<T> findByPage(@Param("pageBounds") PageBounds pageBounds);

  Integer getTotalCount();
}
